package math;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Format extends ArrayList<Paire> {

    private Facteur facteurm;

    public Format(Facteur f) {
        this.facteurm = f;
    }

    private List<Paire> _formater() {//lourd
        Set<Integer> facteur = new HashSet<Integer>(facteurm);
        int multip = 0;
        Integer fact = 0;
        Integer cour;
        Iterator<Integer> itF;
        for (Iterator<Integer> it = facteur.iterator() ; it.hasNext() ;) {
            cour = it.next();
            for (itF = facteurm.iterator() ; itF.hasNext() ;) {
                fact = itF.next();
                if (fact == cour) {
                    multip++;
                }
            }
            add(Paire.paire(cour, multip));
            multip = 0;
            itF = facteurm.iterator();
        }
        return this;
    }

    public static List<Paire> formater(Facteur f) {
        return new Format(f)._formater();
    }

    public static String toExport(List<Graphe> gL, int n) {
        String ret = "";
        Iterator<Graphe> it;
        Graphe g;
        for (it = gL.iterator() ; it.hasNext() ;) {
            g = it.next();
            if (g.pij()._1() != n) {
                ret += g.result() + ",";
            } else {
                ret += "\n";
            }
        }
        return ret;
    }
}


